#ifndef VENUS_COMMON_TYPE_DECLARATIONS_H
#define VENUS_COMMON_TYPE_DECLARATIONS_H

namespace venus {
class FlyMotion;
class OrbitMotion;
template<typename MotionType> class PerspectiveCameraGL;
typedef PerspectiveCameraGL<OrbitMotion> OrbitPerspectiveCameraGL;
typedef PerspectiveCameraGL<FlyMotion> FlyPerspectiveCameraGL;

class TriangleMesh;
class RenderDeviceFBO;
class FramebufferObject;
class Image;
class CubeImage;
class ImageTextureGL;
class CubeTextureGL;
class ProgramGLSL;
class ModelGL;
class ReflectionEffect;
class RefractionEffect;
class EffectCtrlGlut;
class RefractionEffectCtrlGlut;
class ReflectionEffectCtrlGlut;
class Effect;
class RenderBuffer;
class Point;
class Vector3;
class Normal;
struct AABB;
} // namespace venus

#endif // VENUS_COMMON_TYPE_DECLARATIONS_H
